package com.qst.order.domain.DTO;

import com.qst.order.domain.ReturnApplyItem;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;


import java.util.List;

/**
 * 退货申请请求DTO（接收前端参数）
 */
@Data
public class ReturnApplyDTO {

    /**
     * 订单ID（必传）
     */
    @NotNull(message = "订单ID不能为空")
    private Integer orderId;

    /**
     * 订单号（必传）
     */
    @NotNull(message = "订单号不能为空")
    private String orderNo;

    /**
     * 退货主理由（必传）
     */
    @NotNull(message = "退货理由不能为空")
    private String reason;

    /**
     * 退货运单号（可选）
     */
    private String logisticsNo;

    /**
     * 退货明细列表（至少选择一个订单项，必传）
     */
    @NotEmpty(message = "请选择至少一个退货商品")
    private List<ReturnApplyItem> items; // 包含itemNo、productId、refundQuantity等
}